The present invention relates generally to data communication systems and more particularly relates to a digital implementation of a Gaussian Frequency Shift Keying (GFSK) modulator.
Frequency Modulation (FM) is a well-known modulation technique frequently used in communications systems to communicate an analog input signal from one point to another over a channel. For data transmission, a digital FM technique known as Frequency Shift Keying (FSK) is used whereby a carrier signal is shifted between two frequencies in accordance with the data to be transmitted. The modulation index of an FSK communication system can be configured to be either narrowband or wideband. FSK signals can be demodulated using both coherent and noncoherent detection. Minimum Shift Keying (MSK), is obtained when the frequency deviation is equal to one half the bit rate, as expressed in Equation 1 below.                               Δ          ⁢                      xe2x80x83                    ⁢          f                =                  1                      2            ⁢                          T              b                                                          (        1        )            
where Tb equals the bit duration of the input data. The modulation index h in this case is equal to xc2xd.                     h        =                                            Δ              ⁢                              xe2x80x83                            ⁢              f                                      T              b                                =                      1            2                                              (        2        )            
MSK modulation has the following properties: (1) constant envelope which is suitable for nonlinear amplification; (2) capable of coherent and noncoherent detection; and (3) the spectral width of its main lobe is 50% wider than that of a QPSK signal.
The desirable properties of MSK are retained while increasing the spectral efficiency, i.e., reducing the spectral width of the main lobe, by inserting a Gaussian low pass filter (GLPF) into the baseband processor of the MSK modulator. The combination of a GLPF with an MSK modulator is known as Gaussian MSK (GMSK). For modulations indexes h other than 0.5, the modulation technique is known generally as GFSK. GMSK modulation is of particular importance in cellular radio and cordless telephone applications.
A block diagram illustrating a first prior art GFSK modulator is shown in FIG. 1. The modulator, generally referenced 15, comprises a Gaussian filter 17 and a Voltage Controlled Oscillator (VCO) 19. In the typical prior art modulator, both the Gaussian low pass filter 17 and the VCO 19 are analog.
A Gaussian filter comprises a filter whose impulse response is Gaussian shaped. A Gaussian low pass filter has the following transfer function:                               H          ⁡                      (            f            )                          =                  Aⅇ                      {                                          -                                                      (                                          f                      B                                        )                                    2                                            ⁢              ln              ⁢                              xe2x80x83                            ⁢                              2                2                                      }                                              (        3        )            
where B is the 3 dB bandwidth of the filter and A is a constant. A rectangular pulse rect(t/T)=uT(t+T/2) transmitted through the filter produces the following frequency shaping pulse. It is derived from convolving the NRZ input pulse with the impulse response of the Gaussian filter:                                           h            s                    ⁡                      (            t            )                          =                  A          ⁢                                                    2                ⁢                π                                            ln                ⁢                                  xe2x80x83                                ⁢                2                                              ⁢                      (            BT            )                    ⁢                                    ∫                                                t                  /                  T                                -                                  1                  /                  2                                                                              t                  /                  T                                +                                  1                  /                  2                                                      ⁢                                          ⅇ                                  {                                                            2                      ⁢                                                                                                    π                            2                                                    ⁡                                                      (                            BT                            )                                                                          2                                            ⁢                                              x                        2                                                                                    ln                      ⁢                                              xe2x80x83                                            ⁢                      2                                                        }                                            ⁢                              xe2x80x83                            ⁢              d              ⁢                              xe2x80x83                            ⁢              x                                                          (        4        )            
where h(t) is the filter response and T is the bit period. The phase change over the time interval fromxe2x80x94T/2xe2x89xa6txe2x89xa7T/2 is given by:                                           θ            ⁡                          (                              T                2                            )                                -                      θ            ⁡                          (                                                -                  T                                2                            )                                      =                                            x              0                        ⁢                                          β                0                            ⁡                              (                T                )                                              +                                    ∑                                                                    -                    T                                    /                  2                                -                nT                                                              T                  /                  2                                -                nT                                      ⁢                                          x                n                            ⁢                                                β                  n                                ⁡                                  (                  T                  )                                                                                        (        5        )            
where                                           β            n                    ⁡                      (            T            )                          =                                            π              ⁢                              xe2x80x83                            ⁢              h                                                      ∫                                  -                  ∞                                ∞                            ⁢                                                                    h                    s                                    ⁡                                      (                    v                    )                                                  ⁢                d                ⁢                                  xe2x80x83                                ⁢                v                                              ⁢                                    ∫                                                                    -                    T                                    /                  2                                -                nT                                                              T                  /                  2                                -                nT                                      ⁢                                                            h                  s                                ⁡                                  (                  v                  )                                            ⁢              d              ⁢                              xe2x80x83                            ⁢              v                                                          (        6        )            
Note that the first term of Equation 5 is the contribution of the current bit while the second term is the ISI introduced by all past and future bits. A key characteristic of an ideal Gaussian filter is that it has memory properties whereby the output at any time t depends on an infinite number of signal contributions that came in the past and that will come in the future. In practice, however, a pulse truncated to an integer number of symbol intervals is used since the theoretical hs(t) is noncausal.
A graph illustrating the impulse response hs(t) (i.e., frequency shaping pulse) of the Gaussian filter for different values of normalized filter bandwidth BT is shown in FIG. 2. A key characteristic is that as the modulator filter bandwidth decreases, the duration of its impulse response increases. Note also that the impulse response has a duration greater than a bit period T resulting in the introduction of ISI. The response is the widest for low values of BT (e.g., approximately 4 bits for BT=0.2). Lower values of BT introduce more ISI but yield narrower power density spectrums. As the number of bit periods spanned by the response increases causing larger amounts of ISI, the more difficult the realization of the receiver becomes since it must comensate for ISI of higher complexity. In addition, the BER performance degrades as the number of bit periods spanned by the impulse response increases depending on the realization of a compensating equalizer. An infinite filter bandwidth yields the narrowest impulse response having a duration of one bit.
The resultant spectrum of the modulated signal is narrower than that of an MSK signal due to the introduction of ISI into the transmitted data. The greater the bit spreading, the narrower the spectrum of the GMSK signal and the better the adjacent channel interference performance. Due to the narrower spectrum of GMSK, the channel spacings can be closer together for the same adjacent channel interference resulting in higher spectral efficiency.
Stated another way, filtering the modulating signal with the Gaussian low pass filter prior to frequency modulation functions to remove the higher frequency components in the input data thus yielding a more compact spectrum. Clock recovery and symbol detection at the receiver, however, become more complicated.
The main advantage of GMSK over MSK is that the use of the Gaussian filter prevents the instantaneous changes in frequency inherent in MSK due to the response of the Gaussian filter. This results in a power spectrum with side lobes having energy levels far lower than those of an MSK power spectrum.
A block diagram illustrating a second prior art GFSK modulator is shown in FIG. 3. The modulator, generally referenced 10, comprises a baseband GMSK processing subsystem and a quadrature modulator subsystem. The baseband GMSK processing subsystem comprises Gaussian filter 12, integrator 14 and sin and cosine generators while the quadrature modulator subsystem comprises I and Q multipliers 24, 26, respectively, local oscillator 20, 90xc2x0 phase shifter 22 and summer 28.
In this prior art example, the filter and integrator in the baseband subsystem are typically analog. They may, however, be implemented digitally. Likewise, the quadrature modulation subsystem is typically implemented in analog but may be constructed digitally. The straightforward digital implementation of the filter, however, is relatively complex. The amount of memory and complexity of processing required depend on the extent of the history that needs to be considered.
As described above, the narrower the desired frequency response, the wider the impulse response of the filter and consequently the more historical bits that must be handled. For each input bit, the output of the filter comprises the combination of the filter""s responses of each historical bit. This typically requires a large number of look up tables (LUTs) and associated processing and memory resources.
The present invention is a GFSK modulator suitable for use in an RF communication system. The GFSK modulator of the present invention comprises a modulator subsystem and a baseband processor subsystem that is implemented digitally. The baseband processor subsystem comprises a Gaussian filter, phase accumulator and cosine and sine look up tables. The baseband processor functions to convert an input data sequence into I and Q output signals. The I and Q signals are subsequently modulated by a quadrature modulator to yield a GFSK modulated signal which can then be amplified and placed into the channel.
A main feature of the present invention is that the Gaussian filter is implemented digitally and its phase response is precalculated and quantized. The quantized phase results are then accumulated digitally and used to generate the I and Q signals. In one embodiment, the value of the phase results themselves are used to generate the I and Q signals. In an alternative embodiment, the differences between pairs of phase results are pre-calculated, quantized and stored in a table.
The oversampling frequency (i.e., the sampling rate) is selected such that a simplified representation of the samples may be achieved. The Gaussian filter response is approximated and pre-calculated for all possible combinations of the input data. The results are stored in a look up table. In one example embodiment of the invention, the table is adapted to store three possible values for the filter response {xe2x88x921, 0 or +1} which correspond to the phase contribution of one sample of the bit interval. The address to the LUT used to store the filter response is derived from N bits (the current bit and Nxe2x88x921 historical bits). The value of N is chosen based on the desired roll off factor for the Gaussian shaping filter.
The phase accumulator (or integrator) functions to accumulator the phase contributions of all samples in a bit interval. In one example embodiment, the accumulator is realized using an up/down/stop counter corresponding to the filter response of +1/xe2x88x921/0.
The modulator may be implemented using three look up tables: two of which are for storing cosine and sine values and the third is used to store the pre-calculated quantized phase results (either absolute magnitudes or differences). The size of the three look up tables mav be reduced by taking advantage of the symmetry properties of the Gaussian filter response and the cosine and sine functions.
The benefits of the GFSK modulator of the present invention include: (1) accurate modulation index; (2) accurate Gaussian shaping (3) relatively simple implementation; (4) relatively low gate count when implemented in silicon; (5) low power consumption; and (6) low cost. Approximately 600 gates are required for an implementation having the following parameters: h=0.32, BT=0.5, number of samples=8 and one history bit considered. Note that these parameters are suitable for the realization of numerous communication systems including those complying with the Bluetooth standard, for example.
There is thus provided in accordance with the present invention a digital baseband processor for generating baseband I and Q values in a Gaussian Frequency Shift Keying (GFSK) transmitter comprising a sequence look up table (LUT) adapted to generate 2N sequences of differences of quantized phase results wherein N represents a current bit and Nxe2x88x921 history bits, the sequences of phase differences produced by calculating a response to a Gaussian filter for all possible combinations of the N bits and computing the difference between each pair of phase results in a sequence, a register adapted to store the current bit and the Nxe2x88x921 history bits, selection means for selecting one of the 2N sequences of phase differences and for outputting the contents thereof in accordance with the contents of the register, a phase accumulator adapted to accumulate the phase differences output of the sequence LUT, a cosine LUT comprising quantized cosine values and adapted to generate an I baseband signal in accordance with the output of the phase accumulator and a sine LUT comprising quantized sine values and adapted to generate a Q baseband signal in accordance with the output of the phase accumulator.
There is also provided in accordance with the present invention a digital modulator for generating a Gaussian Frequency Shift Keying (GFSK) signal comprising a sequence look up table (LUT) for generating 2N sequences of precalculated differences of quantized phase results wherein N represents a current bit and Nxe2x88x921 history bits, the sequences of phase differences produced by calculating a Gaussian filter response to all possible combinations of the N bits and computing the difference between each pair of phase results in a sequence, a register adapted to store the current bit and the Nxe2x88x921 history bits, selection means for selecting one of the 2N sequences of phase differences and for outputting the contents thereof in accordance with the contents of the register, a phase accumulator adapted to accumulate the phase differences output of the sequence LUT, a cosine LUT comprising quantized cosine values and adapted to generate an I baseband signal in accordance with the output of the phase accumulator, a sine LUT comprising quantized sine values and adapted to generate a Q baseband signal in accordance with. the output of the phase accumulator and a quadrature modulator adapted to modulate the I baseband signal and the Q baseband signal with a carrier signal so as to generate the GFSK signal.
There is further provided in accordance with the present invention a method of generating baseband I and Q values in a Gaussian Frequency Shift Keying (GFSK) transmitter, the method comprising the steps of generating 2N sequences of differences of quantized phase results wherein N represents a current bit and Nxe2x88x921 history bits, the sequences of phase differences produced by calculating a response to a Gaussian filter for all possible combinations of the N bits and computing the difference between each pair of phase results in a sequence, storing the current bit and the Nxe2x88x921 history bits in a memory, selecting one of the 2N sequences of phase differences and outputting the contents thereof in accordance with the contents of the memory, accumulating the phase differences output of the sequence LUT, generating an I baseband signal in accordance with the output of the phase accumulator and generating a Q baseband signal in accordance with the output of the phase accumulator.